// ✅ Функция работает с ЛЮБЫМ непрерывным контейнером! void processData(std::span<const int> data) { for (const auto& item : data) { // Обработка } }
int main() { // Работает с std::vector std::vector<int> vec = {1, 2, 3, 4, 5}; processData(vec);
// Работает с std::array std::array<int, 3> arr = {10, 20, 30}; processData(arr);
// Работает с C-массивами int classic[] = {100, 200, 300}; processData(classic);
// Работает с подпоследовательностями! processData(std::span(vec).subspan(1, 3)); // Только элементы 2,3,4 }
❗️Преимущества std::span:
- Не владеет данными (zero overhead) - Безопасно передает подпоследовательности - Унифицированный интерфейс для всех контейнеров - Выразительный код без шаблонных параметров
// ✅ Функция работает с ЛЮБЫМ непрерывным контейнером! void processData(std::span<const int> data) { for (const auto& item : data) { // Обработка } }
int main() { // Работает с std::vector std::vector<int> vec = {1, 2, 3, 4, 5}; processData(vec);
// Работает с std::array std::array<int, 3> arr = {10, 20, 30}; processData(arr);
// Работает с C-массивами int classic[] = {100, 200, 300}; processData(classic);
// Работает с подпоследовательностями! processData(std::span(vec).subspan(1, 3)); // Только элементы 2,3,4 }
❗️Преимущества std::span:
- Не владеет данными (zero overhead) - Безопасно передает подпоследовательности - Унифицированный интерфейс для всех контейнеров - Выразительный код без шаблонных параметров
Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.
Библиотека C C разработчика | cpp boost qt from vn